@@ -10,16 +10,21 @@ from group.models import GroupPhotoInfo |
||
| 10 | 10 |
|
| 11 | 11 |
|
| 12 | 12 |
@logit |
| 13 |
+def group_detail(request, group_id): |
|
| 14 |
+ return render(request, 'page/pai2_user_{}_download.html'.format('ios' if request.iOS else 'adr'), {})
|
|
| 15 |
+ |
|
| 16 |
+ |
|
| 17 |
+@logit |
|
| 13 | 18 |
def group_photo_detail(request, photo_id): |
| 14 | 19 |
photo = GroupPhotoInfo.objects.get(pk=photo_id) |
| 15 | 20 |
return render(request, 'photo/photo_detail.html', {'photo_url': photo.photo_url, 'api_domain': settings.API_DOMAIN})
|
| 16 | 21 |
|
| 17 | 22 |
|
| 18 | 23 |
@logit |
| 19 |
-def group_detail(request, group_id): |
|
| 20 |
- return render(request, 'page/{}_download.html'.format('ios' if request.iOS else 'adr'), {})
|
|
| 24 |
+def tgu_group_detail(request, admin_id): |
|
| 25 |
+ return render(request, 'page/pai2_tourguide_{}_download.html'.format('ios' if request.iOS else 'adr'), {})
|
|
| 21 | 26 |
|
| 22 | 27 |
|
| 23 | 28 |
@logit |
| 24 | 29 |
def tgu_group_user_detail(request, admin_id): |
| 25 |
- return render(request, 'page/{}_download.html'.format('ios' if request.iOS else 'adr'), {})
|
|
| 30 |
+ return render(request, 'page/pai2_user_{}_download.html'.format('ios' if request.iOS else 'adr'), {})
|
@@ -28,13 +28,41 @@ class LatestAppInfoAdmin(admin.ModelAdmin): |
||
| 28 | 28 |
if obj.src == LatestAppInfo.PAIAI_USER: |
| 29 | 29 |
# 更新安卓下载页面 |
| 30 | 30 |
write_to_disk(render_to_string('page/download.tmpl.html', {
|
| 31 |
+ 'src': obj.src, |
|
| 31 | 32 |
'version': obj.latest_adr_version_name, |
| 32 |
- }), settings.DOWNLOAD_ADR_PAGE_PATH) |
|
| 33 |
+ }), settings.PAI2_USER_DOWNLOAD_ADR_PAGE_PATH) |
|
| 33 | 34 |
|
| 34 | 35 |
# 更新 iOS 下载页面 |
| 35 | 36 |
write_to_disk(render_to_string('page/download.tmpl.html', {
|
| 37 |
+ 'src': obj.src, |
|
| 36 | 38 |
'version': obj.latest_ios_version_name, |
| 37 |
- }), settings.DOWNLOAD_IOS_PAGE_PATH) |
|
| 39 |
+ }), settings.PAI2_USER_DOWNLOAD_IOS_PAGE_PATH) |
|
| 40 |
+ |
|
| 41 |
+ elif obj.src == LatestAppInfo.PAIAI_LENSMAN: |
|
| 42 |
+ # 更新安卓下载页面 |
|
| 43 |
+ write_to_disk(render_to_string('page/download.tmpl.html', {
|
|
| 44 |
+ 'src': obj.src, |
|
| 45 |
+ 'version': obj.latest_adr_version_name, |
|
| 46 |
+ }), settings.PAI2_LENSMAN_DOWNLOAD_ADR_PAGE_PATH) |
|
| 47 |
+ |
|
| 48 |
+ # 更新 iOS 下载页面 |
|
| 49 |
+ write_to_disk(render_to_string('page/download.tmpl.html', {
|
|
| 50 |
+ 'src': obj.src, |
|
| 51 |
+ 'version': obj.latest_ios_version_name, |
|
| 52 |
+ }), settings.PAI2_LENSMAN_DOWNLOAD_IOS_PAGE_PATH) |
|
| 53 |
+ |
|
| 54 |
+ elif obj.src == LatestAppInfo.PAIAI_TOURGUIDE: |
|
| 55 |
+ # 更新安卓下载页面 |
|
| 56 |
+ write_to_disk(render_to_string('page/download.tmpl.html', {
|
|
| 57 |
+ 'src': obj.src, |
|
| 58 |
+ 'version': obj.latest_adr_version_name, |
|
| 59 |
+ }), settings.PAI2_TOURGUIDE_DOWNLOAD_ADR_PAGE_PATH) |
|
| 60 |
+ |
|
| 61 |
+ # 更新 iOS 下载页面 |
|
| 62 |
+ write_to_disk(render_to_string('page/download.tmpl.html', {
|
|
| 63 |
+ 'src': obj.src, |
|
| 64 |
+ 'version': obj.latest_ios_version_name, |
|
| 65 |
+ }), settings.PAI2_TOURGUIDE_DOWNLOAD_IOS_PAGE_PATH) |
|
| 38 | 66 |
|
| 39 | 67 |
# 设置最新 APP 信息 |
| 40 | 68 |
set_latest_app(obj.src) |
@@ -5,7 +5,7 @@ from django.shortcuts import redirect |
||
| 5 | 5 |
from logit import logit |
| 6 | 6 |
|
| 7 | 7 |
from account.models import UserInfo |
| 8 |
-from operation.models import FeedbackInfo, SplashInfo |
|
| 8 |
+from operation.models import FeedbackInfo, LatestAppInfo, SplashInfo |
|
| 9 | 9 |
from utils.error.errno_utils import UserStatusCode |
| 10 | 10 |
from utils.error.response_utils import response |
| 11 | 11 |
from utils.redis.rapp import get_latest_app |
@@ -84,8 +84,22 @@ def feedback_api(request): |
||
| 84 | 84 |
|
| 85 | 85 |
def download_api(request): |
| 86 | 86 |
""" 下载接口 """ |
| 87 |
+ src = int(request.GET.get('src', 0))
|
|
| 88 |
+ |
|
| 87 | 89 |
if request.weixin: |
| 88 |
- return redirect(settings.DOWNLOAD_WX_URL) |
|
| 90 |
+ if src == LatestAppInfo.PAIAI_USER: |
|
| 91 |
+ wx_url = settings.PAI2_USER_DOWNLOAD_WX_URL |
|
| 92 |
+ elif src == LatestAppInfo.PAIAI_LENSMAN: |
|
| 93 |
+ wx_url = settings.PAI2_LENSMAN_DOWNLOAD_WX_URL |
|
| 94 |
+ elif src == LatestAppInfo.PAIAI_TOURGUIDE: |
|
| 95 |
+ wx_url = settings.PAI2_TOURGUIDE_DOWNLOAD_WX_URL |
|
| 96 |
+ return redirect(wx_url) |
|
| 89 | 97 |
if request.iOS: |
| 90 |
- return redirect(settings.DOWNLOAD_IOS_URL) |
|
| 91 |
- return redirect(get_latest_app().get('latest_adr_url', ''))
|
|
| 98 |
+ if src == LatestAppInfo.PAIAI_USER: |
|
| 99 |
+ ios_url = settings.PAI2_USER_DOWNLOAD_IOS_URL |
|
| 100 |
+ elif src == LatestAppInfo.PAIAI_LENSMAN: |
|
| 101 |
+ ios_url = settings.PAI2_LENSMAN_DOWNLOAD_IOS_URL |
|
| 102 |
+ elif src == LatestAppInfo.PAIAI_TOURGUIDE: |
|
| 103 |
+ ios_url = settings.PAI2_TOURGUIDE_DOWNLOAD_IOS_URL |
|
| 104 |
+ return redirect(ios_url) |
|
| 105 |
+ return redirect(get_latest_app(src).get('latest_adr_url', ''))
|
@@ -156,7 +156,7 @@ |
||
| 156 | 156 |
</div> |
| 157 | 157 |
<div class="description text-muted">即拍即分享</div> |
| 158 | 158 |
<div class="download"> |
| 159 |
- <a href="https://api.pai.ai/op/download"> |
|
| 159 |
+ <a href="https://api.pai.ai/op/download?scr={{ src }}">
|
|
| 160 | 160 |
<button class="hero-button">下载<strong>v{{ version }}</strong></button>
|
| 161 | 161 |
</a> |
| 162 | 162 |
</div> |
@@ -266,7 +266,7 @@ CURTAIL_UUID_LENGTH = 7 |
||
| 266 | 266 |
WATERMARK_LOGO = os.path.join(PROJ_DIR, 'static/pai2/img/paiai_96_96.png').replace('\\', '/')
|
| 267 | 267 |
|
| 268 | 268 |
# 原图设置 |
| 269 |
-ORIGIN_EXPIRED_MSEL = 604800000 # 7d = 7 * 24 * 3600 * 1000msel |
|
| 269 |
+LENSMAN_PHOTO_ORIGIN_EXPIRED_MSEL = 604800000 # 摄影师原图过期毫秒数,7d = 7 * 24 * 3600 * 1000msel |
|
| 270 | 270 |
|
| 271 | 271 |
# 缩略图设置 |
| 272 | 272 |
THUMBNAIL_MAX_WIDTH = 540 |
@@ -275,16 +275,29 @@ THUMBNAIL_MAX_WIDTH2 = 1080 |
||
| 275 | 275 |
# 首页设置 |
| 276 | 276 |
PAI2_HOME_PER_PAGE = 20 # 首页照片每页数量 |
| 277 | 277 |
PAI2_HOME_MAX_PAGE = 20 # 首页照片最大页数 |
| 278 |
-PAI2_HOME_MAX_ROWS = 400 # 首页照片最大数量, PAI2_HOME_PER_PAGE * PAI2_HOME_MAX_PAGE = 20 * 20 = 400 |
|
| 278 |
+PAI2_HOME_MAX_ROWS = 400 # 首页照片最大数量,PAI2_HOME_PER_PAGE * PAI2_HOME_MAX_PAGE = 20 * 20 = 400 |
|
| 279 | 279 |
|
| 280 | 280 |
# 下载页设置 |
| 281 |
-DOWNLOAD_TMPL_PATH = os.path.join(BASE_DIR, 'page/templates/page/download.tmpl.html').replace('\\', '/')
|
|
| 282 |
-DOWNLOAD_ADR_PAGE_PATH = os.path.join(BASE_DIR, 'page/templates/page/adr_download.html').replace('\\', '/')
|
|
| 283 |
-DOWNLOAD_IOS_PAGE_PATH = os.path.join(BASE_DIR, 'page/templates/page/ios_download.html').replace('\\', '/')
|
|
| 281 |
+TMPL_DOWNLOAD_PAGE_PATH = os.path.join(BASE_DIR, 'page/templates/page/download.tmpl.html').replace('\\', '/')
|
|
| 282 |
+ |
|
| 283 |
+PAI2_USER_DOWNLOAD_ADR_PAGE_PATH = os.path.join(BASE_DIR, 'page/templates/page/pai2_user_adr_download.html').replace('\\', '/')
|
|
| 284 |
+PAI2_USER_DOWNLOAD_IOS_PAGE_PATH = os.path.join(BASE_DIR, 'page/templates/page/pai2_user_ios_download.html').replace('\\', '/')
|
|
| 285 |
+ |
|
| 286 |
+PAI2_LENSMAN_DOWNLOAD_ADR_PAGE_PATH = os.path.join(BASE_DIR, 'page/templates/page/pai2_lensman_adr_download.html').replace('\\', '/')
|
|
| 287 |
+PAI2_LENSMAN_DOWNLOAD_IOS_PAGE_PATH = os.path.join(BASE_DIR, 'page/templates/page/pai2_lensman_ios_download.html').replace('\\', '/')
|
|
| 288 |
+ |
|
| 289 |
+PAI2_TOURGUIDE_DOWNLOAD_ADR_PAGE_PATH = os.path.join(BASE_DIR, 'page/templates/page/pai2_tourguide_adr_download.html').replace('\\', '/')
|
|
| 290 |
+PAI2_TOURGUIDE_DOWNLOAD_IOS_PAGE_PATH = os.path.join(BASE_DIR, 'page/templates/page/pai2_tourguide_ios_download.html').replace('\\', '/')
|
|
| 284 | 291 |
|
| 285 | 292 |
# 下载设置 |
| 286 |
-DOWNLOAD_WX_URL = 'https://pai.ai' |
|
| 287 |
-DOWNLOAD_IOS_URL = 'https://pai.ai' |
|
| 293 |
+PAI2_USER_DOWNLOAD_WX_URL = 'https://pai.ai' |
|
| 294 |
+PAI2_USER_DOWNLOAD_IOS_URL = 'https://pai.ai' |
|
| 295 |
+ |
|
| 296 |
+PAI2_LENSMAN_DOWNLOAD_WX_URL = 'https://pai.ai' |
|
| 297 |
+PAI2_LENSMAN_DOWNLOAD_IOS_URL = 'https://pai.ai' |
|
| 298 |
+ |
|
| 299 |
+PAI2_TOURGUIDE_DOWNLOAD_WX_URL = 'https://pai.ai' |
|
| 300 |
+PAI2_TOURGUIDE_DOWNLOAD_IOS_URL = 'https://pai.ai' |
|
| 288 | 301 |
|
| 289 | 302 |
# 群组设置 |
| 290 | 303 |
GROUP_PER_PAGE = 20 # 群组每页数量 |
@@ -57,15 +57,19 @@ urlpatterns += [ |
||
| 57 | 57 |
] |
| 58 | 58 |
|
| 59 | 59 |
urlpatterns += [ |
| 60 |
+ url(r'^g/(?P<group_id>\w+)$', grouppage_views.group_detail, name='group_detail'), # 群组详情(拍爱用户端下载页) |
|
| 61 |
+] |
|
| 62 |
+ |
|
| 63 |
+urlpatterns += [ |
|
| 60 | 64 |
url(r'^gp/(?P<photo_id>\w+)$', grouppage_views.group_photo_detail, name='group_photo_detail'), # 群组照片详情 |
| 61 | 65 |
] |
| 62 | 66 |
|
| 63 | 67 |
urlpatterns += [ |
| 64 |
- url(r'^g/(?P<group_id>\w+)$', grouppage_views.group_detail, name='group_detail'), # 群组详情(APP下载页) |
|
| 68 |
+ url(r'^tg/(?P<admin_id>\w+)$', grouppage_views.tgu_group_detail, name='tgu_group_detail'), # 旅行团详情(拍爱导游端下载页) |
|
| 65 | 69 |
] |
| 66 | 70 |
|
| 67 | 71 |
urlpatterns += [ |
| 68 |
- url(r'^tgu/(?P<admin_id>\w+)$', grouppage_views.tgu_group_user_detail, name='tgu_group_user_detail'), # 旅行团详情(APP下载页) |
|
| 72 |
+ url(r'^tgu/(?P<admin_id>\w+)$', grouppage_views.tgu_group_user_detail, name='tgu_group_user_detail'), # 旅行团成员详情(拍爱用户端下载页) |
|
| 69 | 73 |
] |
| 70 | 74 |
|
| 71 | 75 |
urlpatterns += [ |
@@ -5,6 +5,6 @@ from django.conf import settings |
||
| 5 | 5 |
|
| 6 | 6 |
def origin_expired_stamps(origin_stamps, user_id): |
| 7 | 7 |
try: |
| 8 |
- return int(origin_stamps) + settings.ORIGIN_EXPIRED_MSEL |
|
| 8 |
+ return int(origin_stamps) + settings.LENSMAN_PHOTO_ORIGIN_EXPIRED_MSEL |
|
| 9 | 9 |
except: |
| 10 | 10 |
return 0 |